package com.waves.chat.service;

import com.waves.chat.domain.dto.chat.ChatMessageMemberDTO;
import com.waves.chat.domain.dto.chat.GroupAddDTO;
import com.waves.chat.domain.dto.member.MemberAddDTO;
import com.waves.chat.domain.dto.member.MemberDTO;
import com.waves.chat.domain.dto.member.MemberDelDTO;
import com.waves.chat.domain.vo.ChatMemberListVO;
import com.waves.chat.domain.vo.ChatRoomVO;
import com.waves.chat.domain.vo.MemberVO;
import com.waves.core.web.domain.dto.CursorPageBaseDTO;
import com.waves.core.web.domain.vo.CursorPageBaseVO;
import com.waves.user.domain.vo.ws.ChatMemberVO;

import java.util.List;

/**
 * Description:
 * Author: dlw
 * Date: 2024-07-22
 */
public interface RoomAppService {
    /**
     * 获取会话列表--支持未登录态
     */
    CursorPageBaseVO<ChatRoomVO> getContactPage(CursorPageBaseDTO request);

    /**
     * 获取群组信息
     */
    MemberVO getGroupDetail(long roomId);

    CursorPageBaseVO<ChatMemberVO> getMemberPage(MemberDTO request);

    List<ChatMemberListVO> getMemberList(ChatMessageMemberDTO request);

    void delMember(MemberDelDTO request);

    void addMember( MemberAddDTO request);

    Long addGroup(GroupAddDTO request);

    ChatRoomVO getContactDetail(Long roomId);

    ChatRoomVO getContactDetailByFriend(Long friendUid);
}
